const T = require('../utils/tool.js');
const config = require('../config.js');
/**
 * 生成分享链接
 */
function shareUrl(_param) {
  _param = Object.assign(_param, {
    isShare: true
  });
  return T.getCurrentPageUrl() + '?' + T.param(_param);
}

/**
 * 判断是否分享
 * 如果是显示返回到首页的icon
 */


/**
 * 两个经纬度之间的距离
 * @param number lat1 纬度1
 * @param number lng1 经度1
 * @param number lat2 纬度2
 * @param number lng2 经度2
 * @return number s 单位是km
 */
function getDistance(lat1, lng1, lat2, lng2) {
  var radLat1 = lat1 * Math.PI / 180.0;
  var radLat2 = lat2 * Math.PI / 180.0;
  var a = radLat1 - radLat2;
  var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
  var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
    Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
  s = s * 6378.137; // EARTH_RADIUS;
  s = Math.round(s * 10000) / 10000;
  return s;
}

function getLocation(value) {
  return new Promise((resolve, reject) => {
    T.req({
      url: config.api + 'geocode',
      method: 'GET',
      data: {
        token: getApp().globalData.token,
        address: value
      },
      success: (res) => {
        resolve(res);
      }
    })
  });
}

/**
 * 打开导航地图
 */
function openMap(options) {
  wx.getLocation({ //获取当前经纬度
    type: 'wgs84',
    success: function(res) {
      wx.openLocation({ //​使用微信内置地图查看位置。
        latitude: Number(options.la) || 39.903767, //要去的纬度-地址
        longitude: Number(options.lt) || 116.397726, //要去的经度-地址
        name: options.address,
        address: options.address
      })
    }
  })
}


export {
  shareUrl,
  getDistance,
  getLocation,
  openMap
};